package com.briup.reggie.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.briup.reggie.common.R;
import com.briup.reggie.dto.DishDto;
import com.briup.reggie.dto.SetmealDto;
import com.briup.reggie.entity.Dish;
import com.briup.reggie.entity.Setmeal;
import com.briup.reggie.entity.SetmealDish;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

public interface SetmealService extends IService<Setmeal> {
    /**
     * 新增具体套餐,保存菜品和套餐的关联关系
     * @param setmealDto
     */
    public void saveWithDish(SetmealDto setmealDto);

    /**
     * 套餐分页查询
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    public Page<SetmealDto> page(int page,int pageSize,String name);

    /**
     * 根据id查询套餐信息及包含的菜品
     * 回显
     * @param id
     * @return
     */
    public SetmealDto getByIdWithSetmeal(Long id);

    /**
     * 修改套餐信息
     * @param setmealDto
     */
    public void updateWithSetmeal(SetmealDto setmealDto);

    /**
     * 起售与停售
     * @param status
     * @param ids
     */
    public void setStatus(Integer status, List<Long> ids);

    /**
     * 删除/批量删除套餐
     * 删除套餐，同时删除套餐关联的菜品数据
     * @param ids
     */
    public void removeWiteDish(List<Long> ids);

    /**
     *  根据条件查询套餐数据
     * @param setmeal
     * @return
     */
    public List<Setmeal> list(Setmeal setmeal);
}
